#ifndef CONTINENTE_H_
#define CONTINENTE_H_

#include <map>
#include <string>
using namespace std;

class Territorio;
/**
 * Un continente se define como una agrupacion de territorios.
 */

class Continente
{
private:
	map<string,Territorio*> territorios;
	std::string nombre;
	int bonus;
public:
	Continente(std::string nombre, int bonus);
	Continente(std::string nombre);
	void setBonus(int bonues);
	int getBonus();
	void agregarTerritorio(Territorio* territorio);
	bool enPoderDeJugador(string colorJugador);
	unsigned int getCantidadDeTerritoriosEnPoderDeJugador(string colorJugador);
	bool todosLosTerritoriosConEjercitos();
	Territorio* getTerritorio(string nombre);
	map<string,Territorio*>* getTerritorios();
	string getNombre();
	void quitarTerritorio(string territorio);
	void quitarTerritorio(Territorio* territorio);
	virtual ~Continente();
};

#endif /*CONTINENTE_H_*/
